package com.ourteam.system.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 CST 2017
 * Auto Generate Date : 2018-07-31 15:13:19
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseSysDepartmentDAO extends IDataAccessInterface<SysDepartment, SysDepartmentDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "SYS_DEPARTMENT";

    /**
     * Mapped Field ID
    */
    static final String Id = "SYS_DEPARTMENT.ID";

    /**
     * Mapped Field PARENT_ID
    */
    static final String ParentId = "SYS_DEPARTMENT.PARENT_ID";

    /**
     * Mapped Field DEPARTMENT_NAME
    */
    static final String DepartmentName = "SYS_DEPARTMENT.DEPARTMENT_NAME";

    /**
     * Mapped Field DESCRIPTION
    */
    static final String Description = "SYS_DEPARTMENT.DESCRIPTION";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "SYS_DEPARTMENT.STATUS";

    /**
     * Mapped Field MODIFY_TIME
    */
    static final String ModifyTime = "SYS_DEPARTMENT.MODIFY_TIME";

    /**
     * Mapped Field OPERATOR_ID
    */
    static final String OperatorId = "SYS_DEPARTMENT.OPERATOR_ID";

    /**
     * Mapped Field SORT_INDEX
    */
    static final String SortIndex = "SYS_DEPARTMENT.SORT_INDEX";

    /**
     * Mapped Attribute operatorName
    */
    static final String OperatorName = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysUserDAO.UserName,
            com.ourteam.system.dao.ISysUserDAO.EntityName + ".",
            "operator_user.");

    /**
     * Mapped Attribute parentDepartmentName
    */
    static final String ParentDepartmentName = org.apache.commons.lang.StringUtils.replace(com.ourteam.system.dao.ISysDepartmentDAO.DepartmentName,
            com.ourteam.system.dao.ISysDepartmentDAO.EntityName + ".",
            "PARENT_DEP.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    SysDepartment findById(final long id) throws Exception;

    static public interface DataProperty {
        /**
         * Attribute sortIndex
         */
        static final String SortIndex = "sortIndex";

        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute parentId
         */
        static final String ParentId = "parentId";

        /**
         * Attribute departmentName
         */
        static final String DepartmentName = "departmentName";

        /**
         * Attribute description
         */
        static final String Description = "description";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute parentDepartmentName
         */
        static final String ParentDepartmentName = "parentDepartmentName";

        /**
         * Attribute modifyTime
         */
        static final String ModifyTime = "modifyTime";

        /**
         * Attribute operatorId
         */
        static final String OperatorId = "operatorId";

        /**
         * Attribute operatorName
         */
        static final String OperatorName = "operatorName";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
